package com.hooya.fa.eu.biz.service;

import com.hooya.fa.eu.api.bo.stk.BuyRecordBO;
import com.hooya.fa.eu.biz.dao.entity.*;

import java.util.List;
import java.util.Map;

/**
 * @Description 1
 * @Author : Zongz
 * @Copyright Copyright (c) 豪雅集团
 * @Create 2024/1/29
 * @Version 1.0.0
 */
public interface StkCollectionService {

    /**
     * 生成stk数据集
     *
     * @param startDate 开始时间
     * @param endDate   结束时间
     * @param num       补单月数
     */
    void generatorCollectionData(String startDate, String endDate, int num);

	void generatorCollectionData_daily(String startDate, String endDate, int num);

    /**
     * 处理进仓转运数据（主逻辑）
     *
     * @param curDate          当前日期
     * @param fbaCkMap         fba仓库map
     * @param jcMap            当日进仓map
     * @param zyMap            当日转运map
     * @param inventoryList    仓库数据
     * @param tradeRecordList  买卖记录集合
     * @param tempJcjlList     进仓记录集合
     * @param tempZyjlList     转运记录集合
     * @param zyjlChangeList   平仓转运记录集合
     * @param fbaHisJcZy       fba所有历史数据
     * @param metaWarehouseMap 仓库国家字典
     * @param deleteZyRecord   转运记录删除集合
     */
    void dealWithJcZyData(String curDate, Map<String, String> fbaCkMap,
                          Map<String, List<BuyRecordBO>> jcMap, Map<String, List<BuyRecordBO>> zyMap,
                          List<TempKcjlDaily> inventoryList, List<TradeRecord> tradeRecordList,
                          List<TempJcjl> tempJcjlList, List<TempZyjl> tempZyjlList,
                          List<TempZyjlChange> zyjlChangeList, List<BuyRecordBO> fbaHisJcZy,
                          Map<String, String> metaWarehouseMap, List<BuyRecordBO> deleteZyRecord,
                          List<TempPkpy> pkpyList);
}
